package br.com.edumobi.dados.modelos;

import java.io.Serializable;

public class Endereco implements Serializable {

    public String logradouro;
    public String numero;
    public String complemento;
    public String bairro;
    public String cep;
    public Cidade cidade;

    public Endereco(String logradouro, String numero, String complemento, String bairro, String cep, Cidade cidade) {
        this.logradouro = logradouro;
        this.numero = numero;
        this.complemento = complemento;
        this.bairro = bairro;
        this.cep = cep;
        this.cidade = cidade;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Endereco)) return false;

        Endereco endereco = (Endereco) o;

        if (!bairro.equals(endereco.bairro)) return false;
        if (!cep.equals(endereco.cep)) return false;
        if (!cidade.equals(endereco.cidade)) return false;
        if (!complemento.equals(endereco.complemento)) return false;
        if (!logradouro.equals(endereco.logradouro)) return false;
        if (!numero.equals(endereco.numero)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = logradouro.hashCode();
        result = 31 * result + numero.hashCode();
        result = 31 * result + complemento.hashCode();
        result = 31 * result + bairro.hashCode();
        result = 31 * result + cep.hashCode();
        result = 31 * result + cidade.hashCode();
        return result;
    }
}
